@remarkablejames/editor 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/lib/{ActionMenuButton-Bmn3RME4.js → ActionMenuButton-D5HLfRzv.js} +9 -10
  2. package/lib/ActionMenuButton-DN6VHLkp.cjs +1 -0
  3. package/lib/Attachment.cjs +2 -2
  4. package/lib/Attachment.js +31 -33
  5. package/lib/Blockquote.cjs +2 -2
  6. package/lib/Blockquote.js +13 -12
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +11 -10
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +9 -8
  11. package/lib/Callout.cjs +1 -1
  12. package/lib/Callout.js +41 -45
  13. package/lib/Clear.cjs +1 -1
  14. package/lib/Clear.js +13 -14
  15. package/lib/Code.cjs +1 -1
  16. package/lib/Code.js +6 -5
  17. package/lib/CodeBlock.cjs +1 -1
  18. package/lib/CodeBlock.js +30 -31
  19. package/lib/CodeView.cjs +1 -1
  20. package/lib/CodeView.js +9 -8
  21. package/lib/Color.cjs +1 -1
  22. package/lib/Color.js +18 -19
  23. package/lib/Column.cjs +1 -1
  24. package/lib/Column.js +9 -8
  25. package/lib/{Drawer-DvGh9aXG.js → Drawer-B9l1SoRJ.js} +41 -47
  26. package/lib/Drawer-BN0lYcnJ.cjs +2 -0
  27. package/lib/Drawer.cjs +1 -1
  28. package/lib/Drawer.js +3 -3
  29. package/lib/Emoji.cjs +1 -1
  30. package/lib/Emoji.js +14 -15
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +24 -28
  33. package/lib/ExportPdf.cjs +3 -3
  34. package/lib/ExportPdf.js +14 -13
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +6 -6
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +7 -6
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +15 -14
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +26 -26
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +22 -23
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +11 -11
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +10 -9
  49. package/lib/Iframe-CXFk3GEq.cjs +1 -0
  50. package/lib/{Iframe-CnnvV6cK.js → Iframe-MjeJ2OOI.js} +11 -13
  51. package/lib/Iframe.cjs +1 -1
  52. package/lib/Iframe.js +2 -2
  53. package/lib/Image.cjs +1 -1
  54. package/lib/Image.js +4 -5
  55. package/lib/ImageGif.cjs +1 -1
  56. package/lib/ImageGif.js +79 -82
  57. package/lib/ImportWord.cjs +1 -1
  58. package/lib/ImportWord.js +25 -26
  59. package/lib/Indent-BPX9XRos.cjs +1 -0
  60. package/lib/{Indent-Bsj8gKvT.js → Indent-CgwDItIf.js} +31 -30
  61. package/lib/Indent.cjs +1 -1
  62. package/lib/Indent.js +2 -2
  63. package/lib/Italic.cjs +1 -1
  64. package/lib/Italic.js +12 -11
  65. package/lib/{Katex-CilGTz7u.js → Katex-CZ4g3vA9.js} +19 -22
  66. package/lib/Katex-DIgsR_dS.cjs +4 -0
  67. package/lib/Katex.cjs +1 -1
  68. package/lib/Katex.js +2 -2
  69. package/lib/LineHeight.cjs +1 -1
  70. package/lib/LineHeight.js +19 -20
  71. package/lib/Link.cjs +1 -1
  72. package/lib/Link.js +2 -2
  73. package/lib/LinkEditBlock-B2bU0Mcr.cjs +5 -0
  74. package/lib/{LinkEditBlock-BD_WvA3r.js → LinkEditBlock-CaDV3Vq5.js} +19 -24
  75. package/lib/Mention.js +3 -3
  76. package/lib/Mermaid-B9h7XKFo.cjs +2 -0
  77. package/lib/{Mermaid-BrjU75Bs.js → Mermaid-EhYj_ICn.js} +45 -48
  78. package/lib/Mermaid.cjs +1 -1
  79. package/lib/Mermaid.js +2 -2
  80. package/lib/MoreMark.cjs +1 -1
  81. package/lib/MoreMark.js +26 -28
  82. package/lib/OrderedList.cjs +1 -1
  83. package/lib/OrderedList.js +11 -10
  84. package/lib/SearchAndReplace.cjs +1 -1
  85. package/lib/SearchAndReplace.js +37 -42
  86. package/lib/SlashCommand.cjs +1 -1
  87. package/lib/SlashCommand.js +5 -5
  88. package/lib/SlashCommandNodeView-COlWSlnE.cjs +1 -0
  89. package/lib/{SlashCommandNodeView-COx5qZ2y.js → SlashCommandNodeView-CY3peX5x.js} +39 -41
  90. package/lib/Strike.cjs +1 -1
  91. package/lib/Strike.js +12 -11
  92. package/lib/{Table-BlM8yMhr.js → Table-Bw7rLue7.js} +46 -46
  93. package/lib/Table-DLrtX6T7.cjs +5 -0
  94. package/lib/Table.cjs +1 -1
  95. package/lib/Table.js +1 -1
  96. package/lib/TaskList.cjs +1 -1
  97. package/lib/TaskList.js +12 -11
  98. package/lib/TextAlign.cjs +1 -1
  99. package/lib/TextAlign.js +26 -27
  100. package/lib/TextDirection.cjs +1 -1
  101. package/lib/TextDirection.js +18 -19
  102. package/lib/TextUnderline.cjs +1 -1
  103. package/lib/TextUnderline.js +9 -8
  104. package/lib/Twitter-Ck6vGefg.cjs +1 -0
  105. package/lib/{Twitter-BP8sYXX7.js → Twitter-pM0y5Z-L.js} +18 -22
  106. package/lib/Twitter.cjs +1 -1
  107. package/lib/Twitter.js +2 -2
  108. package/lib/Video.cjs +1 -1
  109. package/lib/Video.js +4 -5
  110. package/lib/bubble.cjs +3 -3
  111. package/lib/bubble.js +77 -86
  112. package/lib/{clsx-m_C5j3RU.js → clsx-CDyrfCnw.js} +24 -24
  113. package/lib/{dropdown-menu-CkHN04Mx.cjs → dropdown-menu-DwR8tTs9.cjs} +1 -1
  114. package/lib/{dropdown-menu-C1hdPLCZ.js → dropdown-menu-nX-u8e2w.js} +1 -1
  115. package/lib/extensions/Image/Image.d.ts +11 -0
  116. package/lib/extensions/Image/components/ImageCropper.d.ts +1 -1
  117. package/lib/{index-B3Ijnbxs.js → index-C-tDsIKJ.js} +1 -1
  118. package/lib/{index-C1KQsOcg.js → index-C1WCZhyA.js} +1 -1
  119. package/lib/{index-C8FjP66D.js → index-CsSfYR30.js} +1 -1
  120. package/lib/index-Dib4cXXf.cjs +10 -0
  121. package/lib/{index-s3l5RdyW.js → index-DjDf4BK8.js} +1 -1
  122. package/lib/index-_WrFM-Fk.js +5054 -0
  123. package/lib/index.cjs +4 -4
  124. package/lib/index.js +147 -392
  125. package/lib/{popover-B05Fd8lC.cjs → popover-BY7j9SiD.cjs} +1 -1
  126. package/lib/{popover-CsSXh7w6.js → popover-CSvY4C-l.js} +1 -1
  127. package/lib/{renderNodeView-C_hPIdEs.js → renderNodeView-BJSrgyGj.js} +2 -2
  128. package/lib/{select-B3-5wTqn.js → select-BelNLNvT.js} +1 -1
  129. package/lib/{select-7ubC1NF0.cjs → select-Bu-5iIA9.cjs} +1 -1
  130. package/lib/{separator-CYCA8tSn.js → separator-Br5kcIJa.js} +12 -13
  131. package/lib/separator-Cp9Lg3HU.cjs +1 -0
  132. package/lib/style.css +1 -1
  133. package/lib/{textarea-1FhpmBkP.js → textarea-Ceev4t42.js} +1 -1
  134. package/lib/{textarea-Bjhcpp76.cjs → textarea-DfqvYaA6.cjs} +1 -1
  135. package/lib/theme/theme.d.ts +1 -1
  136. package/lib/{updatePosition-DvfTZHcH.js → updatePosition-e90ZrFWW.js} +2 -2
  137. package/package.json +1 -1
  138. package/lib/ActionMenuButton-C5P0Kzrb.cjs +0 -1
  139. package/lib/Drawer-gz9U5ArC.cjs +0 -2
  140. package/lib/Icon-CKM0tYbW.js +0 -15
  141. package/lib/Icon-CQyFgXeo.cjs +0 -1
  142. package/lib/Iframe-Ds6gG2YO.cjs +0 -1
  143. package/lib/ImageCropper-BKhXlnXN.cjs +0 -1
  144. package/lib/ImageCropper-DUzu_9-6.js +0 -896
  145. package/lib/Indent-D_7HOYYd.cjs +0 -1
  146. package/lib/Katex-lL3bHXJd.cjs +0 -4
  147. package/lib/LinkEditBlock-D3HSHmsU.cjs +0 -5
  148. package/lib/Mermaid-BfeLPzoS.cjs +0 -2
  149. package/lib/SlashCommandNodeView-DD-nlhM-.cjs +0 -1
  150. package/lib/Table-C21AlUrh.cjs +0 -5
  151. package/lib/Twitter-D46MnvPr.cjs +0 -1
  152. package/lib/Video-Bpd8W8l6.js +0 -231
  153. package/lib/Video-BwrHx6B1.cjs +0 -1
  154. package/lib/button-BmTP96NR.cjs +0 -1
  155. package/lib/button-CDIxPURh.js +0 -35
  156. package/lib/checkbox-7sfSdzy9.js +0 -29
  157. package/lib/checkbox-DyVlLWHv.cjs +0 -1
  158. package/lib/dialog-B-jOQ5i3.cjs +0 -1
  159. package/lib/dialog-QWWUWOGP.js +0 -95
  160. package/lib/events.constant-Bh2uzJud.js +0 -71
  161. package/lib/events.constant-ELn21EzG.cjs +0 -1
  162. package/lib/file-BLas99n7.js +0 -43
  163. package/lib/file-i7e4nQY2.cjs +0 -1
  164. package/lib/index-CAiZY1nx.js +0 -2741
  165. package/lib/index-DWSAk_9a.cjs +0 -1
  166. package/lib/input-qvpuOf-3.js +0 -21
  167. package/lib/input-s0JD5kf2.cjs +0 -1
  168. package/lib/isNumber-BTYSVlKo.cjs +0 -1
  169. package/lib/isNumber-WaBzl_0s.js +0 -15
  170. package/lib/label-CFax-gzo.cjs +0 -1
  171. package/lib/label-DC37f2RQ.js +0 -11
  172. package/lib/separator-ncbdw4oq.cjs +0 -1
  173. package/lib/tabs-BeHxylKH.js +0 -46
  174. package/lib/tabs-DBqNpGAq.cjs +0 -1
  175. package/lib/throttle-CRNq0z-O.js +0 -249
  176. package/lib/throttle-gTTvqDTW.cjs +0 -1
  177. package/lib/toggle-DoJTBdvy.js +0 -89
  178. package/lib/toggle-oFwBZC4x.cjs +0 -1
  179. package/lib/useButtonProps-BE10eHkG.js +0 -165
  180. package/lib/useButtonProps-CFu0GHzW.cjs +0 -1
@@ -1,16 +1,15 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
2
  import { Slot as n } from "@radix-ui/react-slot";
3
3
  import r from "react";
4
- import { T as m, a as d, b as f, g as s } from "./useButtonProps-BE10eHkG.js";
5
- import { B as u } from "./button-CDIxPURh.js";
6
- import { i as o } from "./index-CAiZY1nx.js";
7
- const b = r.forwardRef(
4
+ import { i as d, T as m, a as f, B as s, b as u, g } from "./index-_WrFM-Fk.js";
5
+ import "./theme.js";
6
+ const C = r.forwardRef(
8
7
  ({ asChild: x = !1, tooltip: i, ...t }, l) => {
9
8
  var a;
10
- const h = o[t.icon];
9
+ const h = d[t.icon];
11
10
  return /* @__PURE__ */ c(m, { children: [
12
- /* @__PURE__ */ e(d, { asChild: !0, children: /* @__PURE__ */ e(
13
- x ? n : u,
11
+ /* @__PURE__ */ e(f, { asChild: !0, children: /* @__PURE__ */ e(
12
+ x ? n : s,
14
13
  {
15
14
  className: "richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0",
16
15
  "data-state": t != null && t.dataState ? "on" : "off",
@@ -24,13 +23,13 @@ const b = r.forwardRef(
24
23
  ] })
25
24
  }
26
25
  ) }),
27
- i && /* @__PURE__ */ e(f, { children: /* @__PURE__ */ c("div", { className: "richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center", children: [
26
+ i && /* @__PURE__ */ e(u, { children: /* @__PURE__ */ c("div", { className: "richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center", children: [
28
27
  i && /* @__PURE__ */ e("div", { children: i }),
29
- /* @__PURE__ */ e("div", { className: "richtext-flex", children: !!((a = t == null ? void 0 : t.shortcutKeys) != null && a.length) && /* @__PURE__ */ e("span", { children: s(t == null ? void 0 : t.shortcutKeys) }) })
28
+ /* @__PURE__ */ e("div", { className: "richtext-flex", children: !!((a = t == null ? void 0 : t.shortcutKeys) != null && a.length) && /* @__PURE__ */ e("span", { children: g(t == null ? void 0 : t.shortcutKeys) }) })
30
29
  ] }) })
31
30
  ] });
32
31
  }
33
32
  );
34
33
  export {
35
- b as A
34
+ C as A
36
35
  };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("react/jsx-runtime"),a=require("@radix-ui/react-slot"),d=require("react"),i=require("./index-Dib4cXXf.cjs");require("./theme.cjs");const s=d.forwardRef(({asChild:h=!1,tooltip:c,...t},l)=>{var n;const x=i.icons[t.icon],r=h?a.Slot:i.Button;return e.jsxs(i.Tooltip,{children:[e.jsx(i.TooltipTrigger,{asChild:!0,children:e.jsx(r,{className:"richtext-h-[32px] richtext-min-w-24 richtext-overflow-hidden richtext-px-[5px] richtext-py-0","data-state":t!=null&&t.dataState?"on":"off",disabled:t==null?void 0:t.disabled,ref:l,variant:"ghost",...t,children:e.jsxs("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[(t==null?void 0:t.title)&&e.jsx("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:t==null?void 0:t.title}),x&&e.jsx(x,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),c&&e.jsx(i.TooltipContent,{children:e.jsxs("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[c&&e.jsx("div",{children:c}),e.jsx("div",{className:"richtext-flex",children:!!((n=t==null?void 0:t.shortcutKeys)!=null&&n.length)&&e.jsx("span",{children:i.getShortcutKeys(t==null?void 0:t.shortcutKeys)})})]})})]})});exports.ActionMenuButton=s;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./clsx-CXbNJWDD.cjs"),M=require("./toggle-oFwBZC4x.cjs"),e=require("react/jsx-runtime"),m=require("lucide-react"),C=require("./index-DWSAk_9a.cjs"),f=require("./file-i7e4nQY2.cjs"),v=require("react"),q=require("./index-bVGIXhRg.cjs"),A=require("./useButtonProps-CFu0GHzW.cjs"),d=require("./dom-dataset-BqoJhJXt.cjs"),_={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),s=require("./index-Dib4cXXf.cjs"),e=require("react/jsx-runtime"),v=require("react");require("./theme.cjs");const x=require("lucide-react"),D=require("./index-bVGIXhRg.cjs"),u=require("./dom-dataset-BqoJhJXt.cjs"),S={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:`<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">
2
2
  <path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>
3
3
  <path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>
4
4
  </svg>`,word:`<svg
@@ -16,4 +16,4 @@
16
16
  fill="currentColor"
17
17
  d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"
18
18
  />
19
- </svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function R(t){const n=_[t],a=new DOMParser().parseFromString(n,"image/svg+xml").documentElement,s=["svg",{...Array.from(a.attributes).reduce((r,o)=>(r[o.name]=o.value,r),{})}];return Array.from(a.childNodes).forEach(r=>{if(r.nodeType===1){const o=[r.tagName.toLowerCase(),Array.from(r.attributes).reduce((u,h)=>(u[h.name]=h.value,u),{})];r.textContent&&o.push(r.textContent),s.push(o)}}),s}const P={audio:e.jsx(m.LucideAudioLines,{}),video:e.jsx(m.LucideVideo,{}),file:e.jsx(m.LucideFile,{}),image:e.jsx(m.LucideImage,{}),pdf:e.jsx(C.ExportPdf,{}),word:e.jsx(C.ExportWord,{}),excel:e.jsx(m.LucideSheet,{}),ppt:e.jsx(m.LucideTableProperties,{})};function H(t,n=!1){const i=f.normalizeFileType(t),c=P[i]||e.jsx(e.Fragment,{});return n?R(i):c}const $="_wrap_15oj2_2",k={wrap:$};function I({editor:t,node:n,updateAttributes:i,deleteNode:c,extension:a}){var b;const s=v.useRef(null),r=A.useEditableEditor(),{hasTrigger:o,fileName:u,fileSize:h,fileExt:z,fileType:E,url:p,error:T}=n.attrs,[F,w]=v.useState(!1),{t:y}=q.useLocale(),V=(b=a==null?void 0:a.options)==null?void 0:b.upload,x=v.useCallback(()=>{!r||p||s.current.click()},[p,r]),B=v.useCallback(async L=>{const g=L.target.files&&L.target.files[0];if(!g)return;const S={fileName:f.extractFilename(g.name),fileSize:g.size,fileType:g.type,fileExt:f.extractFileExtension(g.name)};w(!0);try{const j=await V(g);i({...S,url:j}),w(!1)}catch(j){i({error:`File upload fail: ${j&&j.message}`}),w(!1),s.current.value=""}},[w,i]);v.useEffect(()=>{!p&&!o&&(x(),i({hasTrigger:!0}))},[p,o,x,i]);const D=v.useCallback(()=>c(),[t]);return r&&!p?e.jsx(l.NodeViewWrapper,{children:e.jsxs("div",{className:l.clsx(k.wrap,"render-wrapper"),children:[e.jsx("p",{onClick:x,style:{cursor:"pointer"},children:F?e.jsx("span",{children:y("editor.attachment.uploading")}):e.jsx("span",{children:y("editor.attachment.please_upload")})}),e.jsx("input",{hidden:!0,onChange:B,ref:s,type:"file"})]})}):p?e.jsx(l.NodeViewWrapper,{children:e.jsxs("div",{className:l.clsx(k.wrap,"render-wrapper"),onClick:x,children:[e.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[e.jsx("span",{children:H(E)}),e.jsxs("span",{children:[u,".",z]}),e.jsxs("span",{children:["(",f.normalizeFileSize(h),")"]})]}),r&&e.jsx(M.ActionButton,{action:D,icon:"Trash2",tooltip:y("editor.delete")})]})}):T!=="null"?e.jsx(l.NodeViewWrapper,{children:e.jsx("div",{className:l.clsx(k.wrap,"render-wrapper"),onClick:x,children:e.jsx("p",{children:T})})}):e.jsx(e.Fragment,{})}function O(){const t=A.useButtonProps(N.name),{icon:n=void 0,tooltip:i=void 0,shortcutKeys:c=void 0,tooltipOptions:a={},action:s=void 0,isActive:r=void 0}=(t==null?void 0:t.componentProps)??{},{editorDisabled:o,update:u}=A.useToggleActive(r),h=()=>{o||s&&(s(),u())};return t?e.jsx(M.ActionButton,{action:h,disabled:o,icon:n,shortcutKeys:c,tooltip:i,tooltipOptions:a}):e.jsx(e.Fragment,{})}const N=l.Node3.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"attachment"},button:({editor:n,t:i})=>({component:M.ActionButton,componentProps:{action:()=>n.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:i("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:t}){const{url:n="",fileName:i="",fileSize:c="",fileType:a="",fileExt:s=""}=t||{};return["div",l.mergeAttributes(this.options.HTMLAttributes||{},t||{}),n?["a",{href:n||"#"},["span",{class:"attachment__icon"},H(a,!0)],["span",{class:"attachment__text"},`${i}.${s} (${f.normalizeFileSize(c)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:d.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:d.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:d.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:d.getDatasetAttribute("fileext")},url:{default:null,parseHTML:d.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:t=>d.getDatasetAttribute("hastrigger")(t)==="true"},error:{default:null,parseHTML:d.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(t={})=>({chain:n})=>n().insertContent({type:this.name,attrs:t}).run()}},addNodeView(){return l.ReactNodeViewRenderer(I)}});exports.Attachment=N;exports.RichTextAttachment=O;
19
+ </svg>`,excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};function B(t){const n=S[t],l=new DOMParser().parseFromString(n,"image/svg+xml").documentElement,o=["svg",{...Array.from(l.attributes).reduce((r,a)=>(r[a.name]=a.value,r),{})}];return Array.from(l.childNodes).forEach(r=>{if(r.nodeType===1){const a=[r.tagName.toLowerCase(),Array.from(r.attributes).reduce((h,p)=>(h[p.name]=p.value,h),{})];r.textContent&&a.push(r.textContent),o.push(a)}}),o}const _={audio:e.jsx(x.LucideAudioLines,{}),video:e.jsx(x.LucideVideo,{}),file:e.jsx(x.LucideFile,{}),image:e.jsx(x.LucideImage,{}),pdf:e.jsx(s.ExportPdf,{}),word:e.jsx(s.ExportWord,{}),excel:e.jsx(x.LucideSheet,{}),ppt:e.jsx(x.LucideTableProperties,{})};function b(t,n=!1){const i=s.normalizeFileType(t),d=_[i]||e.jsx(e.Fragment,{});return n?B(i):d}const R="_wrap_15oj2_2",k={wrap:R};function q({editor:t,node:n,updateAttributes:i,deleteNode:d,extension:l}){var M;const o=v.useRef(null),r=s.useEditableEditor(),{hasTrigger:a,fileName:h,fileSize:p,fileExt:C,fileType:H,url:g,error:A}=n.attrs,[N,w]=v.useState(!1),{t:y}=D.useLocale(),z=(M=l==null?void 0:l.options)==null?void 0:M.upload,f=v.useCallback(()=>{!r||g||o.current.click()},[g,r]),E=v.useCallback(async T=>{const m=T.target.files&&T.target.files[0];if(!m)return;const V={fileName:s.extractFilename(m.name),fileSize:m.size,fileType:m.type,fileExt:s.extractFileExtension(m.name)};w(!0);try{const j=await z(m);i({...V,url:j}),w(!1)}catch(j){i({error:`File upload fail: ${j&&j.message}`}),w(!1),o.current.value=""}},[w,i]);v.useEffect(()=>{!g&&!a&&(f(),i({hasTrigger:!0}))},[g,a,f,i]);const F=v.useCallback(()=>d(),[t]);return r&&!g?e.jsx(c.NodeViewWrapper,{children:e.jsxs("div",{className:c.clsx(k.wrap,"render-wrapper"),children:[e.jsx("p",{onClick:f,style:{cursor:"pointer"},children:N?e.jsx("span",{children:y("editor.attachment.uploading")}):e.jsx("span",{children:y("editor.attachment.please_upload")})}),e.jsx("input",{hidden:!0,onChange:E,ref:o,type:"file"})]})}):g?e.jsx(c.NodeViewWrapper,{children:e.jsxs("div",{className:c.clsx(k.wrap,"render-wrapper"),onClick:f,children:[e.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[e.jsx("span",{children:b(H)}),e.jsxs("span",{children:[h,".",C]}),e.jsxs("span",{children:["(",s.normalizeFileSize(p),")"]})]}),r&&e.jsx(s.ActionButton,{action:F,icon:"Trash2",tooltip:y("editor.delete")})]})}):A!=="null"?e.jsx(c.NodeViewWrapper,{children:e.jsx("div",{className:c.clsx(k.wrap,"render-wrapper"),onClick:f,children:e.jsx("p",{children:A})})}):e.jsx(e.Fragment,{})}function P(){const t=s.useButtonProps(L.name),{icon:n=void 0,tooltip:i=void 0,shortcutKeys:d=void 0,tooltipOptions:l={},action:o=void 0,isActive:r=void 0}=(t==null?void 0:t.componentProps)??{},{editorDisabled:a,update:h}=s.useToggleActive(r),p=()=>{a||o&&(o(),h())};return t?e.jsx(s.ActionButton,{action:p,disabled:a,icon:n,shortcutKeys:d,tooltip:i,tooltipOptions:l}):e.jsx(e.Fragment,{})}const L=c.Node3.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"attachment"},button:({editor:n,t:i})=>({component:s.ActionButton,componentProps:{action:()=>n.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:i("editor.attachment.tooltip")}})}},parseHTML(){return[{tag:"div[class=attachment]"}]},renderHTML({HTMLAttributes:t}){const{url:n="",fileName:i="",fileSize:d="",fileType:l="",fileExt:o=""}=t||{};return["div",c.mergeAttributes(this.options.HTMLAttributes||{},t||{}),n?["a",{href:n||"#"},["span",{class:"attachment__icon"},b(l,!0)],["span",{class:"attachment__text"},`${i}.${o} (${s.normalizeFileSize(d)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes(){return{fileName:{default:null,parseHTML:u.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:u.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:u.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:u.getDatasetAttribute("fileext")},url:{default:null,parseHTML:u.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:t=>u.getDatasetAttribute("hastrigger")(t)==="true"},error:{default:null,parseHTML:u.getDatasetAttribute("error")}}},addCommands(){return{setAttachment:(t={})=>({chain:n})=>n().insertContent({type:this.name,attrs:t}).run()}},addNodeView(){return c.ReactNodeViewRenderer(q)}});exports.Attachment=L;exports.RichTextAttachment=P;
package/lib/Attachment.js CHANGED
@@ -1,12 +1,10 @@
1
- import { h as x, j as y, N as _, k as D, m as P } from "./clsx-m_C5j3RU.js";
2
- import { A as T } from "./toggle-DoJTBdvy.js";
1
+ import { h as x, j as y, N as _, k as P, m as D } from "./clsx-CDyrfCnw.js";
2
+ import { K as R, N as $, O as I, w as O, P as Z, Q as K, R as N, A as T, u as W, d as Q } from "./index-_WrFM-Fk.js";
3
3
  import { jsx as e, Fragment as L, jsxs as f } from "react/jsx-runtime";
4
- import { LucideTableProperties as R, LucideSheet as $, LucideImage as I, LucideFile as O, LucideVideo as Z, LucideAudioLines as W } from "lucide-react";
5
- import { E as K, b as q } from "./index-CAiZY1nx.js";
6
- import { n as G, e as J, a as Q, b } from "./file-BLas99n7.js";
7
- import { useRef as U, useState as X, useCallback as k, useEffect as Y } from "react";
8
- import { u as ee } from "./index-4Q5IhypJ.js";
9
- import { l as te, u as re, c as ie } from "./useButtonProps-BE10eHkG.js";
4
+ import { useRef as q, useState as G, useCallback as k, useEffect as J } from "react";
5
+ import "./theme.js";
6
+ import { LucideTableProperties as U, LucideSheet as X, LucideImage as Y, LucideFile as ee, LucideVideo as te, LucideAudioLines as re } from "lucide-react";
7
+ import { u as ie } from "./index-4Q5IhypJ.js";
10
8
  import { g as c } from "./dom-dataset-CIEeltF6.js";
11
9
  const oe = {
12
10
  audio: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',
@@ -54,17 +52,17 @@ function ne(t) {
54
52
  }), n;
55
53
  }
56
54
  const ae = {
57
- audio: /* @__PURE__ */ e(W, {}),
58
- video: /* @__PURE__ */ e(Z, {}),
59
- file: /* @__PURE__ */ e(O, {}),
60
- image: /* @__PURE__ */ e(I, {}),
61
- pdf: /* @__PURE__ */ e(q, {}),
62
- word: /* @__PURE__ */ e(K, {}),
63
- excel: /* @__PURE__ */ e($, {}),
64
- ppt: /* @__PURE__ */ e(R, {})
55
+ audio: /* @__PURE__ */ e(re, {}),
56
+ video: /* @__PURE__ */ e(te, {}),
57
+ file: /* @__PURE__ */ e(ee, {}),
58
+ image: /* @__PURE__ */ e(Y, {}),
59
+ pdf: /* @__PURE__ */ e(I, {}),
60
+ word: /* @__PURE__ */ e($, {}),
61
+ excel: /* @__PURE__ */ e(X, {}),
62
+ ppt: /* @__PURE__ */ e(U, {})
65
63
  };
66
- function N(t, o = !1) {
67
- const i = G(t), l = ae[i] || /* @__PURE__ */ e(L, {});
64
+ function b(t, o = !1) {
65
+ const i = R(t), l = ae[i] || /* @__PURE__ */ e(L, {});
68
66
  return o ? ne(i) : l;
69
67
  }
70
68
  const se = "_wrap_15oj2_2", M = {
@@ -78,17 +76,17 @@ function le({
78
76
  extension: s
79
77
  }) {
80
78
  var A;
81
- const n = U(null), r = te(), { hasTrigger: a, fileName: d, fileSize: h, fileExt: E, fileType: z, url: u, error: H } = o.attrs, [F, v] = X(!1), { t: w } = ee(), V = (A = s == null ? void 0 : s.options) == null ? void 0 : A.upload, m = k(() => {
79
+ const n = q(null), r = O(), { hasTrigger: a, fileName: d, fileSize: h, fileExt: z, fileType: E, url: u, error: H } = o.attrs, [F, v] = G(!1), { t: w } = ie(), V = (A = s == null ? void 0 : s.options) == null ? void 0 : A.upload, m = k(() => {
82
80
  !r || u || n.current.click();
83
81
  }, [u, r]), j = k(
84
82
  async (C) => {
85
83
  const p = C.target.files && C.target.files[0];
86
84
  if (!p) return;
87
85
  const S = {
88
- fileName: Q(p.name),
86
+ fileName: K(p.name),
89
87
  fileSize: p.size,
90
88
  fileType: p.type,
91
- fileExt: J(p.name)
89
+ fileExt: Z(p.name)
92
90
  };
93
91
  v(!0);
94
92
  try {
@@ -102,7 +100,7 @@ function le({
102
100
  },
103
101
  [v, i]
104
102
  );
105
- Y(() => {
103
+ J(() => {
106
104
  !u && !a && (m(), i({ hasTrigger: !0 }));
107
105
  }, [u, a, m, i]);
108
106
  const B = k(() => l(), [t]);
@@ -116,15 +114,15 @@ function le({
116
114
  onClick: m,
117
115
  children: [
118
116
  /* @__PURE__ */ f("div", { className: "richtext-flex richtext-items-center richtext-gap-[4px]", children: [
119
- /* @__PURE__ */ e("span", { children: N(z) }),
117
+ /* @__PURE__ */ e("span", { children: b(E) }),
120
118
  /* @__PURE__ */ f("span", { children: [
121
119
  d,
122
120
  ".",
123
- E
121
+ z
124
122
  ] }),
125
123
  /* @__PURE__ */ f("span", { children: [
126
124
  "(",
127
- b(h),
125
+ N(h),
128
126
  ")"
129
127
  ] })
130
128
  ] }),
@@ -147,15 +145,15 @@ function le({
147
145
  }
148
146
  ) }) : /* @__PURE__ */ e(L, {});
149
147
  }
150
- function ye() {
151
- const t = re(ce.name), {
148
+ function we() {
149
+ const t = W(ce.name), {
152
150
  icon: o = void 0,
153
151
  tooltip: i = void 0,
154
152
  shortcutKeys: l = void 0,
155
153
  tooltipOptions: s = {},
156
154
  action: n = void 0,
157
155
  isActive: r = void 0
158
- } = (t == null ? void 0 : t.componentProps) ?? {}, { editorDisabled: a, update: d } = ie(r), h = () => {
156
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { editorDisabled: a, update: d } = Q(r), h = () => {
159
157
  a || n && (n(), d());
160
158
  };
161
159
  return t ? /* @__PURE__ */ e(
@@ -211,7 +209,7 @@ const ce = /* @__PURE__ */ _.create({
211
209
  } = t || {};
212
210
  return [
213
211
  "div",
214
- P(
212
+ D(
215
213
  // @ts-expect-error
216
214
  this.options.HTMLAttributes || {},
217
215
  t || {}
@@ -219,11 +217,11 @@ const ce = /* @__PURE__ */ _.create({
219
217
  o ? [
220
218
  "a",
221
219
  { href: o || "#" },
222
- ["span", { class: "attachment__icon" }, N(s, !0)],
220
+ ["span", { class: "attachment__icon" }, b(s, !0)],
223
221
  [
224
222
  "span",
225
223
  { class: "attachment__text" },
226
- `${i}.${n} (${b(l)})`
224
+ `${i}.${n} (${N(l)})`
227
225
  ]
228
226
  ] : ["div", { class: "attachment__placeholder" }]
229
227
  ];
@@ -266,10 +264,10 @@ const ce = /* @__PURE__ */ _.create({
266
264
  };
267
265
  },
268
266
  addNodeView() {
269
- return D(le);
267
+ return P(le);
270
268
  }
271
269
  });
272
270
  export {
273
271
  ce as Attachment,
274
- ye as RichTextAttachment
272
+ we as RichTextAttachment
275
273
  };
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),d=require("./jsx-runtime-C_NLcKys.cjs"),l=require("react/jsx-runtime"),q=require("./toggle-oFwBZC4x.cjs"),p=require("./useButtonProps-CFu0GHzW.cjs");var m=/^\s*>\s$/,b=c.Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return d.h("blockquote",{...c.mergeAttributes(this.options.HTMLAttributes,t),children:d.h("slot",{})})},parseMarkdown:(t,e)=>e.createNode("blockquote",void 0,e.parseChildren(t.tokens||[])),renderMarkdown:(t,e)=>{if(!t.content)return"";const o=">",n=[];return t.content.forEach(i=>{const u=e.renderChildren([i]).split(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./clsx-CXbNJWDD.cjs"),p=require("./jsx-runtime-C_NLcKys.cjs"),l=require("react/jsx-runtime"),a=require("./index-Dib4cXXf.cjs");require("react");require("./theme.cjs");var g=/^\s*>\s$/,m=c.Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return p.h("blockquote",{...c.mergeAttributes(this.options.HTMLAttributes,t),children:p.h("slot",{})})},parseMarkdown:(t,e)=>e.createNode("blockquote",void 0,e.parseChildren(t.tokens||[])),renderMarkdown:(t,e)=>{if(!t.content)return"";const o=">",n=[];return t.content.forEach(i=>{const u=e.renderChildren([i]).split(`
2
2
  `).map(r=>r.trim()===""?o:`${o} ${r}`);n.push(u.join(`
3
3
  `))}),n.join(`
4
4
  ${o}
5
- `)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[c.wrappingInputRule({find:m,type:this.type})]}});function f(){const t=p.useButtonProps(h.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:n=void 0,tooltipOptions:i={},action:s=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:u,disabled:r,update:g}=p.useToggleActive(a),k=()=>{r||s&&(s(),g())};return t?l.jsx(q.ActionButton,{action:k,dataState:u,disabled:r,icon:e,shortcutKeys:n,tooltip:o,tooltipOptions:i}):l.jsx(l.Fragment,{})}const h=b.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:e,t:o,extension:n})=>({componentProps:{action:()=>e.commands.toggleBlockquote(),isActive:()=>e.isActive("blockquote"),disabled:!e.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:n.options.shortcutKeys??["shift","mod","B"],tooltip:o("editor.blockquote.tooltip")}})}}});exports.Blockquote=h;exports.RichTextBlockquote=f;
5
+ `)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[c.wrappingInputRule({find:g,type:this.type})]}});function b(){const t=a.useButtonProps(h.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:n=void 0,tooltipOptions:i={},action:s=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:u,disabled:r,update:q}=a.useToggleActive(d),k=()=>{r||s&&(s(),q())};return t?l.jsx(a.ActionButton,{action:k,dataState:u,disabled:r,icon:e,shortcutKeys:n,tooltip:o,tooltipOptions:i}):l.jsx(l.Fragment,{})}const h=m.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),HTMLAttributes:{class:"blockquote"},button:({editor:e,t:o,extension:n})=>({componentProps:{action:()=>e.commands.toggleBlockquote(),isActive:()=>e.isActive("blockquote"),disabled:!e.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:n.options.shortcutKeys??["shift","mod","B"],tooltip:o("editor.blockquote.tooltip")}})}}});exports.Blockquote=h;exports.RichTextBlockquote=b;
package/lib/Blockquote.js CHANGED
@@ -1,8 +1,9 @@
1
- import { N as m, w as h, m as k } from "./clsx-m_C5j3RU.js";
1
+ import { N as m, w as h, m as k } from "./clsx-CDyrfCnw.js";
2
2
  import { h as a } from "./jsx-runtime-CT7Pcg-t.js";
3
- import { jsx as l, Fragment as f } from "react/jsx-runtime";
4
- import { A as g } from "./toggle-DoJTBdvy.js";
5
- import { u as b, c as q } from "./useButtonProps-BE10eHkG.js";
3
+ import { jsx as d, Fragment as g } from "react/jsx-runtime";
4
+ import { u as f, d as b, A as q } from "./index-_WrFM-Fk.js";
5
+ import "react";
6
+ import "./theme.js";
6
7
  var v = /^\s*>\s$/, B = m.create({
7
8
  name: "blockquote",
8
9
  addOptions() {
@@ -54,19 +55,19 @@ ${e}
54
55
  ];
55
56
  }
56
57
  });
57
- function C() {
58
- const t = b(A.name), {
58
+ function H() {
59
+ const t = f(A.name), {
59
60
  icon: o = void 0,
60
61
  tooltip: e = void 0,
61
62
  shortcutKeys: n = void 0,
62
63
  tooltipOptions: i = {},
63
64
  action: s = void 0,
64
65
  isActive: u = void 0
65
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: r, update: d } = q(u), p = () => {
66
- r || s && (s(), d());
66
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: r, update: l } = b(u), p = () => {
67
+ r || s && (s(), l());
67
68
  };
68
- return t ? /* @__PURE__ */ l(
69
- g,
69
+ return t ? /* @__PURE__ */ d(
70
+ q,
70
71
  {
71
72
  action: p,
72
73
  dataState: c,
@@ -76,7 +77,7 @@ function C() {
76
77
  tooltip: e,
77
78
  tooltipOptions: i
78
79
  }
79
- ) : /* @__PURE__ */ l(f, {});
80
+ ) : /* @__PURE__ */ d(g, {});
80
81
  }
81
82
  const A = /* @__PURE__ */ B.extend({
82
83
  //@ts-expect-error
@@ -102,5 +103,5 @@ const A = /* @__PURE__ */ B.extend({
102
103
  });
103
104
  export {
104
105
  A as Blockquote,
105
- C as RichTextBlockquote
106
+ H as RichTextBlockquote
106
107
  };
package/lib/Bold.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./clsx-CXbNJWDD.cjs"),a=require("./jsx-runtime-C_NLcKys.cjs"),l=require("./toggle-oFwBZC4x.cjs"),s=require("react/jsx-runtime"),u=require("./useButtonProps-CFu0GHzW.cjs");var B=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,_=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,k=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,v=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,M=o.Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return a.h("strong",{...o.mergeAttributes(this.options.HTMLAttributes,t),children:a.h("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[o.markInputRule({find:B,type:this.type}),o.markInputRule({find:k,type:this.type})]},addPasteRules(){return[o.markPasteRule({find:_,type:this.type}),o.markPasteRule({find:v,type:this.type})]}});function b(){const t=u.useButtonProps(c.name),{icon:e=void 0,tooltip:r=void 0,shortcutKeys:n=void 0,tooltipOptions:p={},action:i=void 0,isActive:g=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:m,disabled:d,update:h}=u.useToggleActive(g),y=()=>{d||i&&(i(),h())};return t?s.jsx(l.ActionButton,{action:y,dataState:m,disabled:d,icon:e,shortcutKeys:n,tooltip:r,tooltipOptions:p}):s.jsx(s.Fragment,{})}const c=M.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:r,extension:n})=>({component:l.ActionButton,componentProps:{action:()=>e.commands.toggleBold(),isActive:()=>e.isActive("bold"),icon:"Bold",shortcutKeys:n.options.shortcutKeys??["mod","B"],tooltip:r("editor.bold.tooltip")}})}}});exports.Bold=c;exports.RichTextBold=b;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./clsx-CXbNJWDD.cjs"),u=require("./jsx-runtime-C_NLcKys.cjs"),r=require("./index-Dib4cXXf.cjs"),i=require("react/jsx-runtime");require("react");require("./theme.cjs");var y=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,_=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,B=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,k=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,v=o.Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return u.h("strong",{...o.mergeAttributes(this.options.HTMLAttributes,t),children:u.h("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[o.markInputRule({find:y,type:this.type}),o.markInputRule({find:B,type:this.type})]},addPasteRules(){return[o.markPasteRule({find:_,type:this.type}),o.markPasteRule({find:k,type:this.type})]}});function M(){const t=r.useButtonProps(l.name),{icon:e=void 0,tooltip:n=void 0,shortcutKeys:s=void 0,tooltipOptions:c={},action:a=void 0,isActive:p=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:g,disabled:d,update:m}=r.useToggleActive(p),h=()=>{d||a&&(a(),m())};return t?i.jsx(r.ActionButton,{action:h,dataState:g,disabled:d,icon:e,shortcutKeys:s,tooltip:n,tooltipOptions:c}):i.jsx(i.Fragment,{})}const l=v.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:n,extension:s})=>({component:r.ActionButton,componentProps:{action:()=>e.commands.toggleBold(),isActive:()=>e.isActive("bold"),icon:"Bold",shortcutKeys:s.options.shortcutKeys??["mod","B"],tooltip:n("editor.bold.tooltip")}})}}});exports.Bold=l;exports.RichTextBold=M;
package/lib/Bold.js CHANGED
@@ -1,8 +1,9 @@
1
- import { M as _, e as a, f as i, m as f } from "./clsx-m_C5j3RU.js";
1
+ import { M as _, e as a, f as i, m as y } from "./clsx-CDyrfCnw.js";
2
2
  import { h as d } from "./jsx-runtime-CT7Pcg-t.js";
3
- import { A as l } from "./toggle-DoJTBdvy.js";
4
- import { jsx as u, Fragment as y } from "react/jsx-runtime";
5
- import { u as M, c as v } from "./useButtonProps-BE10eHkG.js";
3
+ import { u as f, d as M, A as l } from "./index-_WrFM-Fk.js";
4
+ import { jsx as u, Fragment as v } from "react/jsx-runtime";
5
+ import "react";
6
+ import "./theme.js";
6
7
  var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g, b = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/, A = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g, R = _.create({
7
8
  name: "bold",
8
9
  addOptions() {
@@ -30,7 +31,7 @@ var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*
30
31
  ];
31
32
  },
32
33
  renderHTML({ HTMLAttributes: t }) {
33
- return /* @__PURE__ */ d("strong", { ...f(this.options.HTMLAttributes, t), children: /* @__PURE__ */ d("slot", {}) });
34
+ return /* @__PURE__ */ d("strong", { ...y(this.options.HTMLAttributes, t), children: /* @__PURE__ */ d("slot", {}) });
34
35
  },
35
36
  markdownTokenName: "strong",
36
37
  parseMarkdown: (t, e) => e.applyMark("bold", e.parseInline(t.tokens || [])),
@@ -73,15 +74,15 @@ var B = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/, k = /(?:^|\s)(\*
73
74
  ];
74
75
  }
75
76
  });
76
- function H() {
77
- const t = M(x.name), {
77
+ function K() {
78
+ const t = f(x.name), {
78
79
  icon: e = void 0,
79
80
  tooltip: o = void 0,
80
81
  shortcutKeys: r = void 0,
81
82
  tooltipOptions: p = {},
82
83
  action: n = void 0,
83
84
  isActive: m = void 0
84
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: s, update: g } = v(m), h = () => {
85
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: c, disabled: s, update: g } = M(m), h = () => {
85
86
  s || n && (n(), g());
86
87
  };
87
88
  return t ? /* @__PURE__ */ u(
@@ -95,7 +96,7 @@ function H() {
95
96
  tooltip: o,
96
97
  tooltipOptions: p
97
98
  }
98
- ) : /* @__PURE__ */ u(y, {});
99
+ ) : /* @__PURE__ */ u(v, {});
99
100
  }
100
101
  const x = /* @__PURE__ */ R.extend({
101
102
  //@ts-expect-error
@@ -118,5 +119,5 @@ const x = /* @__PURE__ */ R.extend({
118
119
  });
119
120
  export {
120
121
  x as Bold,
121
- H as RichTextBold
122
+ K as RichTextBold
122
123
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),m=require("./toggle-oFwBZC4x.cjs"),u=require("./useButtonProps-CFu0GHzW.cjs");function B(){const t=u.useButtonProps(l.name),{icon:o=void 0,tooltip:e=void 0,shortcutKeys:i=void 0,tooltipOptions:r={},action:n=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:a,disabled:c,update:p}=u.useToggleActive(d),v=()=>{c||n&&(n(),p())};return t?s.jsx(m.ActionButton,{action:v,dataState:a,disabled:c,icon:o,shortcutKeys:i,tooltip:e,tooltipOptions:r}):s.jsx(s.Fragment,{})}const l=g.BulletList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:o,t:e,extension:i})=>({componentProps:{action:()=>o.commands.toggleBulletList(),isActive:()=>o.isActive("bulletList"),disabled:!1,shortcutKeys:i.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:e("editor.bulletlist.tooltip")}})}}});exports.BulletList=l;exports.RichTextBulletList=B;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("./index-BCzvbrf5.cjs"),s=require("react/jsx-runtime"),n=require("./index-Dib4cXXf.cjs");require("react");require("./theme.cjs");function g(){const t=n.useButtonProps(l.name),{icon:e=void 0,tooltip:i=void 0,shortcutKeys:o=void 0,tooltipOptions:r={},action:c=void 0,isActive:d=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:a,disabled:u,update:p}=n.useToggleActive(d),m=()=>{u||c&&(c(),p())};return t?s.jsx(n.ActionButton,{action:m,dataState:a,disabled:u,icon:e,shortcutKeys:o,tooltip:i,tooltipOptions:r}):s.jsx(s.Fragment,{})}const l=v.BulletList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:i,extension:o})=>({componentProps:{action:()=>e.commands.toggleBulletList(),isActive:()=>e.isActive("bulletList"),disabled:!1,shortcutKeys:o.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:i("editor.bulletlist.tooltip")}})}}});exports.BulletList=l;exports.RichTextBulletList=g;
package/lib/BulletList.js CHANGED
@@ -1,20 +1,21 @@
1
- import { B as d } from "./index-s3l5RdyW.js";
1
+ import { B as d } from "./index-DjDf4BK8.js";
2
2
  import { jsx as c, Fragment as m } from "react/jsx-runtime";
3
- import { A as f } from "./toggle-DoJTBdvy.js";
4
- import { u as v, c as A } from "./useButtonProps-BE10eHkG.js";
5
- function x() {
6
- const t = v(B.name), {
3
+ import { u as f, d as v, A } from "./index-_WrFM-Fk.js";
4
+ import "react";
5
+ import "./theme.js";
6
+ function y() {
7
+ const t = f(B.name), {
7
8
  icon: o = void 0,
8
9
  tooltip: i = void 0,
9
10
  shortcutKeys: s = void 0,
10
11
  tooltipOptions: r = {},
11
12
  action: e = void 0,
12
13
  isActive: l = void 0
13
- } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: u, disabled: n, update: a } = A(l), p = () => {
14
+ } = (t == null ? void 0 : t.componentProps) ?? {}, { dataState: u, disabled: n, update: a } = v(l), p = () => {
14
15
  n || e && (e(), a());
15
16
  };
16
17
  return t ? /* @__PURE__ */ c(
17
- f,
18
+ A,
18
19
  {
19
20
  action: p,
20
21
  dataState: u,
@@ -48,5 +49,5 @@ const B = /* @__PURE__ */ d.extend({
48
49
  });
49
50
  export {
50
51
  B as BulletList,
51
- x as RichTextBulletList
52
+ y as RichTextBulletList
52
53
  };
package/lib/Callout.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./clsx-CXbNJWDD.cjs"),L=require("./toggle-oFwBZC4x.cjs"),t=require("react/jsx-runtime"),n=require("lucide-react"),x=require("react"),c=require("./dialog-B-jOQ5i3.cjs"),s=require("./select-7ubC1NF0.cjs"),p=require("./useButtonProps-CFu0GHzW.cjs"),H=require("./index-bVGIXhRg.cjs"),b=require("./label-CFax-gzo.cjs"),y=require("./input-s0JD5kf2.cjs"),T=require("./button-BmTP96NR.cjs"),A=[{value:"note",label:"Note",icon:n.Info,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:n.Lightbulb,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:n.AlertCircle,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:n.TriangleAlert,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:n.OctagonAlert,color:"#f85149",background:"#f851491f"}];function R({node:e}){const{type:l="note",title:o="",body:u=""}=e.attrs,d=(A.find(h=>h.value===l)||A[0]).icon;return t.jsx(i.NodeViewWrapper,{children:t.jsxs("div",{className:i.clsx("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":l==="note","richtext-bg-[#2386361f] richtext-border-[#238636]":l==="tip","richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":l==="important","richtext-bg-[#d299221f] richtext-border-[#d29922]":l==="warning","richtext-bg-[#f851491f] richtext-border-[#f85149]":l==="caution"}),children:[t.jsxs("div",{className:i.clsx("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":l==="note","richtext-text-[#238636]":l==="tip","richtext-text-[#ab7df8]":l==="important","richtext-text-[#d29922]":l==="warning","richtext-text-[#f85149]":l==="caution"}),children:[t.jsx(d,{className:"richtext-size-5"}),t.jsx("span",{className:"richtext-font-semibold",children:o})]}),u&&t.jsx("p",{className:"richtext-pl-[28px]",children:u})]})})}const D=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function P(){const{t:e}=H.useLocale(),l=p.useEditorInstance(),o=p.useButtonProps(N.name),[u,a]=x.useState(!1),[d,h]=x.useState("note"),[f,v]=x.useState(""),[m,j]=x.useState(""),{icon:S=void 0,tooltip:q=void 0,shortcutKeys:I=void 0,tooltipOptions:O={},isActive:k=void 0}=(o==null?void 0:o.componentProps)??{},{dataState:w,disabled:C}=p.useToggleActive(k),B=()=>{l&&(l.chain().focus().setCallout({type:d,title:f,body:m}).run(),a(!1),h("note"),v(""),j(""))},M=()=>{C||a(!0)};return o?t.jsxs(c.Dialog,{onOpenChange:a,open:u,children:[t.jsx(c.DialogTrigger,{asChild:!0,children:t.jsx(L.ActionButton,{action:M,dataState:w,disabled:C,icon:S,shortcutKeys:I,tooltip:q,tooltipOptions:O})}),t.jsxs(c.DialogContent,{children:[t.jsx(c.DialogTitle,{children:e("editor.callout.dialog.title")}),t.jsxs("div",{className:"richtext-space-y-4 richtext-py-4",children:[t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.type")}),t.jsxs(s.Select,{onValueChange:h,value:d,children:[t.jsx(s.SelectTrigger,{children:t.jsx(s.SelectValue,{placeholder:e("editor.callout.dialog.type.placeholder")})}),t.jsx(s.SelectContent,{children:D.map(r=>t.jsx(s.SelectItem,{value:r.value,children:e(`editor.callout.type.${r.value}`)},r.value))})]})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.title.label")}),t.jsx(y.Input,{onChange:r=>v(r.target.value),placeholder:e("editor.callout.dialog.title.placeholder"),value:f})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(b.Label,{children:e("editor.callout.dialog.body.label")}),t.jsx(y.Input,{onChange:r=>j(r.target.value),placeholder:e("editor.callout.dialog.body.placeholder"),value:m})]})]}),t.jsxs(c.DialogFooter,{children:[t.jsx(T.Button,{onClick:()=>a(!1),variant:"outline",children:e("editor.callout.dialog.button.cancel")}),t.jsx(T.Button,{onClick:B,children:e("editor.callout.dialog.button.apply")})]})]})]}):t.jsx(t.Fragment,{})}function g(e){return l=>l.getAttribute(e)}const N=i.Node3.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"callout"},button:({editor:l,t:o})=>({component:L.ActionButton,componentProps:{action:()=>!0,isActive:()=>l.isActive("callout"),disabled:!1,icon:"Callout",tooltip:o("editor.callout.tooltip")}})}},parseHTML(){return[{tag:"div.callout"}]},renderHTML({HTMLAttributes:e}){return["div",i.mergeAttributes(this.options&&this.options.HTMLAttributes||{},e)]},addAttributes(){return{type:{default:"",parseHTML:g("type")},title:{default:"",parseHTML:g("title")},body:{default:"",parseHTML:g("body")}}},addCommands(){return{setCallout:e=>({chain:l})=>l().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return i.ReactNodeViewRenderer(R)}});exports.Callout=N;exports.RichTextCallout=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./clsx-CXbNJWDD.cjs"),o=require("./index-Dib4cXXf.cjs"),t=require("react/jsx-runtime"),x=require("react");require("./theme.cjs");const c=require("lucide-react"),s=require("./select-Bu-5iIA9.cjs"),k=require("./index-bVGIXhRg.cjs"),j=[{value:"note",label:"Note",icon:c.Info,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:c.Lightbulb,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:c.AlertCircle,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:c.TriangleAlert,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:c.OctagonAlert,color:"#f85149",background:"#f851491f"}];function q({node:e}){const{type:l="note",title:r="",body:u=""}=e.attrs,d=(j.find(h=>h.value===l)||j[0]).icon;return t.jsx(a.NodeViewWrapper,{children:t.jsxs("div",{className:a.clsx("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":l==="note","richtext-bg-[#2386361f] richtext-border-[#238636]":l==="tip","richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":l==="important","richtext-bg-[#d299221f] richtext-border-[#d29922]":l==="warning","richtext-bg-[#f851491f] richtext-border-[#f85149]":l==="caution"}),children:[t.jsxs("div",{className:a.clsx("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":l==="note","richtext-text-[#238636]":l==="tip","richtext-text-[#ab7df8]":l==="important","richtext-text-[#d29922]":l==="warning","richtext-text-[#f85149]":l==="caution"}),children:[t.jsx(d,{className:"richtext-size-5"}),t.jsx("span",{className:"richtext-font-semibold",children:r})]}),u&&t.jsx("p",{className:"richtext-pl-[28px]",children:u})]})})}const w=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function M(){const{t:e}=k.useLocale(),l=o.useEditorInstance(),r=o.useButtonProps(C.name),[u,n]=x.useState(!1),[d,h]=x.useState("note"),[b,g]=x.useState(""),[f,v]=x.useState(""),{icon:y=void 0,tooltip:T=void 0,shortcutKeys:A=void 0,tooltipOptions:L={},isActive:N=void 0}=(r==null?void 0:r.componentProps)??{},{dataState:S,disabled:m}=o.useToggleActive(N),I=()=>{l&&(l.chain().focus().setCallout({type:d,title:b,body:f}).run(),n(!1),h("note"),g(""),v(""))},O=()=>{m||n(!0)};return r?t.jsxs(o.Dialog,{onOpenChange:n,open:u,children:[t.jsx(o.DialogTrigger,{asChild:!0,children:t.jsx(o.ActionButton,{action:O,dataState:S,disabled:m,icon:y,shortcutKeys:A,tooltip:T,tooltipOptions:L})}),t.jsxs(o.DialogContent,{children:[t.jsx(o.DialogTitle,{children:e("editor.callout.dialog.title")}),t.jsxs("div",{className:"richtext-space-y-4 richtext-py-4",children:[t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.type")}),t.jsxs(s.Select,{onValueChange:h,value:d,children:[t.jsx(s.SelectTrigger,{children:t.jsx(s.SelectValue,{placeholder:e("editor.callout.dialog.type.placeholder")})}),t.jsx(s.SelectContent,{children:w.map(i=>t.jsx(s.SelectItem,{value:i.value,children:e(`editor.callout.type.${i.value}`)},i.value))})]})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.title.label")}),t.jsx(o.Input,{onChange:i=>g(i.target.value),placeholder:e("editor.callout.dialog.title.placeholder"),value:b})]}),t.jsxs("div",{className:"richtext-space-y-2",children:[t.jsx(o.Label,{children:e("editor.callout.dialog.body.label")}),t.jsx(o.Input,{onChange:i=>v(i.target.value),placeholder:e("editor.callout.dialog.body.placeholder"),value:f})]})]}),t.jsxs(o.DialogFooter,{children:[t.jsx(o.Button,{onClick:()=>n(!1),variant:"outline",children:e("editor.callout.dialog.button.cancel")}),t.jsx(o.Button,{onClick:I,children:e("editor.callout.dialog.button.apply")})]})]})]}):t.jsx(t.Fragment,{})}function p(e){return l=>l.getAttribute(e)}const C=a.Node3.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),HTMLAttributes:{class:"callout"},button:({editor:l,t:r})=>({component:o.ActionButton,componentProps:{action:()=>!0,isActive:()=>l.isActive("callout"),disabled:!1,icon:"Callout",tooltip:r("editor.callout.tooltip")}})}},parseHTML(){return[{tag:"div.callout"}]},renderHTML({HTMLAttributes:e}){return["div",a.mergeAttributes(this.options&&this.options.HTMLAttributes||{},e)]},addAttributes(){return{type:{default:"",parseHTML:p("type")},title:{default:"",parseHTML:p("title")},body:{default:"",parseHTML:p("body")}}},addCommands(){return{setCallout:e=>({chain:l})=>l().insertContent({type:this.name,attrs:e}).run()}},addNodeView(){return a.ReactNodeViewRenderer(q)}});exports.Callout=C;exports.RichTextCallout=M;